package com.hyty.cordova.plugins.bean;

import android.os.Environment;

import java.util.List;

/**
 * ================================================================
 * 创建时间：2017/12/18 11:44
 * 创建人：赵文贇
 * 文件描述：入口参数的解析实体
 * 看淡身边的虚伪，静心宁神做好自己。路那么长，无愧走好每一步。
 * ================================================================
 */
public class Config {
    private int type; // 业务类型 1 ~ 快速拍照   2 ~ 多图选择  3 ~ 图片预览   默认 ==1
    private boolean isCanDelete;//type==3时必填参数，代表当前预览的图片是否可以被删除   默认为 false
    private int maxOptionalNum;//数量的限制，当类型==1时表示最大可拍照的数量(默认10张)，type==2时表示选择图片时最大可以选择的数量(默认10张)  type == 3 并且 isCanDelete == true 时表示图片预览时最大可以删除的数量(默认为传入预览的集合长度，即全部图片的数量)，
    private String flagText;//水印文字 当type == 1时必传 todo 水印文字注释待说明
    private List<PreviewDataBean> previewDataList;//预览的集合 当type == 3 时必传字段
    private String folderName;//存储文件的文件夹名称，该文件将在SD卡根目录下出现 存储压缩过的图片 默认为:defaultfolder

    public static final String CAMERA_FILE_PATH = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString() + "/Camera";//系统相册目录
    public static final String FILE_SAVED_PATH = Environment.getExternalStorageDirectory().toString() + "/";//文件存储目录头


    /**
     * type == 1 快速拍照调用  最大可拍照数量不传时默认==10
     *
     * @param mType       业务类型
     * @param mFolderName 文件夹名称
     * @param mFlagText   水印文字
     */
    public Config(int mType, String mFolderName,String mFlagText) {
        type = mType;
        flagText = mFlagText;
        folderName = mFolderName;
    }

    /**
     * type==2 多图选择时调用  最大可选数量不传时默认==10
     *
     * @param mType       业务类型
     * @param mFolderName 文件夹名称
     */
    public Config(int mType, String mFolderName) {
        type = mType;
        folderName = mFolderName;
    }

    /**
     * type ==3 图片预览时调用 是否可以删除默认为false 最大可删除数量默认为传入的mPreviewDataList的长度
     *
     * @param mType            业务类型
     * @param mFolderName      文件夹名称
     * @param mPreviewDataList 预览的集合
     */
    public Config(int mType, String mFolderName, List<PreviewDataBean> mPreviewDataList) {
        type = mType;
        folderName = mFolderName;
        previewDataList = mPreviewDataList;
    }


    /**
     * type ==3 图片预览时调用 是否可以删除默认为false 最大可删除数量默认为传入的mPreviewDataList的长度
     *
     * @param mType            业务类型
     * @param mFolderName      文件夹名称
     * @param mPreviewDataList 预览的集合
     */
    public Config(int mType, String mFolderName, List<PreviewDataBean> mPreviewDataList,boolean isCanDelete) {
        type = mType;
        folderName = mFolderName;
        previewDataList = mPreviewDataList;
        this.isCanDelete = isCanDelete;
    }

    public int getType() {
        return type;
    }

    public void setType(int mType) {
        type = mType;
    }

    public boolean isCanDelete() {
        return isCanDelete;
    }

    public void setCanDelete(boolean mCanDelete) {
        isCanDelete = mCanDelete;
    }

    public int getMaxOptionalNum() {
        return maxOptionalNum;
    }

    public void setMaxOptionalNum(int mMaxOptionalNum) {
        maxOptionalNum = mMaxOptionalNum;
    }

    public String getFlagText() {
        return flagText;
    }

    public void setFlagText(String mFlagText) {
        flagText = mFlagText;
    }

    public List<PreviewDataBean> getPreviewDataList() {
        return previewDataList;
    }

    public void setPreviewDataList(List<PreviewDataBean> mPreviewDataList) {
        previewDataList = mPreviewDataList;
    }

    public String getFolderName() {
        return folderName;
    }

    public void setFolderName(String mFolderName) {
        folderName = mFolderName;
    }
}
